chrome.runtime.onMessage.addListener((request, _sender, sendResponse) => {
	if (request.action === 'getAllTabs') {
		// 获取所有标签页
		chrome.tabs.query({}, (tabs) => {
			const tabTitles = tabs.map((tab) => tab.title) // 提取每个标签页的标题
			// @ts-ignore
			sendResponse({ tabs: tabTitles })
		})
		return true
	}
})

// 监听标签页更新事件
chrome.tabs.onUpdated.addListener((_tabId, changeInfo, _tab) => {
	if (changeInfo.status === 'complete') {
		updateTabTitles()
	}
})

chrome.tabs.onRemoved.addListener((_tabId, _removeInfo) => {
	updateTabTitles()
})

function updateTabTitles() {
	chrome.tabs.query({ windowType: 'normal' }, (tabs) => {
		const tabTitles = tabs.map((tab) => tab.title)
		const targetTabs = tabs.filter((t) => t.url && t.url.startsWith('https://ahutoj.top')) // 找到指定域名的标签页
		targetTabs.forEach((targetTab) => {
			// @ts-ignore
			chrome.tabs.sendMessage(targetTab.id, { action: 'updateTabs', tabs: tabTitles })
		})
	})
}
